﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using EyFramework.Common;
using EyFramework.ORM;
using ShuJuGj.Core.Dao;
using ShuJuGj.Entity;
using ShuJuGj.Entity.Dto;
using SqlSugar;

namespace ShuJuGj.Core.Service
{
    /// <summary>
    ///  TJ_TJBG_PDF表的服务实现类
    /// </summary>
    public class TjTjbgPdfService : BaseTjService, ITjTjbgPdfService
    {
        protected readonly ITjTjbgPdfDao _TjTjbgPdfDao;

        public TjTjbgPdfService(ITjTjbgPdfDao tjTjbgPdfDao)
        {
            _TjTjbgPdfDao = tjTjbgPdfDao;
        }

        public TjTjbgjl GetTjbgjl(string tjbh)
        {
            return _TjTjbgPdfDao.GetTjbgjl(tjbh);
        }

        public TjTjbgPdf GetTjbgPdf(string tjbh)
        {
            return _TjTjbgPdfDao.GetTjbgPdf(tjbh);
        }

        public List<TjTjbgjl> GetTjbgPdfList(TjbgPdfParam queryParam)
        {
            return _TjTjbgPdfDao.GetTjbgPdfList(queryParam);
        }

        public List<string> GetUnloadData()
        {
            return _TjTjbgPdfDao.GetUnloadData();
        }

        public TjTjbgPdf GetUploadTjbgPdf(string tjbh)
        {
            return _TjTjbgPdfDao.GetUploadTjbgPdf(tjbh);
        }

        public bool SaveTjbgPdf(TjTjbgjl tjTjbgjl, string bgnr)
        {
            var tjbgpdf = _TjTjbgPdfDao.GetTjbgPdf(tjTjbgjl.TIJIANBH);
            if (tjbgpdf != null)
            {
                if (Globals.ShowYesNoAndWarning("当前体检记录，已经上传体检报告，继续上传将会更新报告，是否继续？") == DialogResult.Yes)
                {
                    tjbgpdf.BGNR = bgnr;
                    tjbgpdf.SCRQ = DateTime.Now;
                    return _TjTjbgPdfDao.Update(tjbgpdf);
                }
            }
            else
            {
                tjbgpdf = new TjTjbgPdf();
                tjbgpdf.TJBH = tjTjbgjl.TIJIANBH;
                tjbgpdf.SCRQ = DateTime.Now;
                tjbgpdf.BGNR = bgnr;
                return _TjTjbgPdfDao.Insert(tjbgpdf);
            }

            return true;
        }

        public bool SaveTjbgPdfSilent(TjTjbgjl tjTjbgjl, string bgnr)
        {
            var tjbgpdf = _TjTjbgPdfDao.GetTjbgPdf(tjTjbgjl.TIJIANBH);
            if (tjbgpdf != null)
            {
                tjbgpdf.BGNR = bgnr;
                tjbgpdf.SCRQ = DateTime.Now;
                return _TjTjbgPdfDao.Update(tjbgpdf);
            }
            else
            {
                tjbgpdf = new TjTjbgPdf();
                tjbgpdf.TJBH = tjTjbgjl.TIJIANBH;
                tjbgpdf.SCRQ = DateTime.Now;
                tjbgpdf.BGNR = bgnr;
                return _TjTjbgPdfDao.Insert(tjbgpdf);
            }
        }

        public bool UpdateScbz(TjTjbgPdf tjbgPdf)
        {
            return _TjTjbgPdfDao.UpdateScbz(tjbgPdf);
        }
    }
}